/**
 * org.assess.oa.system.service.TbRoleService
 */
package org.assess.oa.system.service;

import org.assess.core.service.ServiceResult;
import org.assess.oa.system.bean.TbRole;
import org.assess.oa.system.bean.TbSystem;

/**
 * @description 角色管理的Service层接口
 * @author XiaLongxiang
 * @createtime 2012-6-8 下午4:43:04
 */
public interface TbRoleService {
    /**
     * 根据ID查询角色信息
     * @param role
     * @return
     */
    public TbRole queryTbRoleById(TbRole role);
    
    /**
     * 分页查询角色信息，并返回支持界面分页功能的JSON字符串
     * @param page
     * @param row
     * @param role
     * @return
     */
    public String queryTbRoleAsList(int page, int rows, TbRole role);
    
    /**
     * 保存角色信息
     * @param role
     * @param edit
     * @return
     */
    public ServiceResult saveTbRole(TbRole role, boolean edit) throws Exception;
    
    /**
     * 保存角色权限信息
     * @param role
     * @param system
     * @param roleString
     * @return
     */
    public String saveRolePermission(TbRole role, TbSystem system, String roleString) throws Exception;
    
    /**
     * 删除角色信息
     * @param role
     * @return
     */
    public String deleteTbRole(TbRole role) throws Exception;
}
